Method and system for auxiliary display of information for a computing device

ABSTRACT

A method and system for auxiliary display of information for a computing device. An auxiliary display is integrated with a computing system to provide an area where notifications can be peripherally presented off-screen. Whenever a background task sends a notification to the main display of the system, the notification may be redirected to appear instead on the auxiliary display. A user may then glance at the notification appearing on the auxiliary display to be informed of the message without interruption from the current task onscreen. Any type of information may be presented on the auxiliary display including incoming communications, meeting reminders, system alerts, and information from Internet subscription services. The auxiliary display may be placed on the central processor chassis or on the monitor border along with LED indicator lights to provide simple peripheral-vision notification. By pressing a button, a user may obtain additional detailed follow-up information.

CROSS REFERENCE TO RELATED APPLICATIONS

The present patent application is a divisional of U.S. patentapplication Ser. No. 10/429,932, filed May 5, 2003 and herebyincorporated by reference in its entirety.

FIELD OF THE INVENTION

The invention relates generally to computer systems, and moreparticularly to an improved method and system for display of informationfor a computing device.

BACKGROUND OF THE INVENTION

Computer software applications and systems provide various informationabout their status and activities to their users. For example, whenevera new email message arrives, a notification may be displayed on thecomputer screen or monitor to inform the user. The computer may alsomake an audible sound to alert the user to look at the computer screento view the notification. There are other applications such as instantmessaging and voicemail that also provide notification ofcommunications. Additionally, there are a number of applications thatprovide other types of notifications and alerts. For example, a calendarprogram provides reminders of upcoming meetings. A task manager programsends reminders on tasks with due dates and a status report upon taskcompletion. System components provide notifications of device status,service alerts, and system health. Internet-related services and othernetwork-based communication services also present information in theform of notifications. For example, a user can subscribe toInternet-related services to be notified of headline news, stock quotes,sport scores, weather and other information.

As the use of the computer continues to grow for communication andinformation applications, the number of notifications and alertsprovided to users also continues to increase. In general, users can beconceptually overloaded with these many notifications and alerts.Moreover, notifications that force user interaction, while the user isfocused on a particular task, are annoying and distracting. Further,when a user receives a notification during a meeting or other socialsetting, it can be disruptive for the user to turn to read thenotification.

However, users may not necessarily want to turn off notifications duringsuch times, but are not given many options other than to receive them intheir current, possibly distracting form, or not receive them at all.For example, although users may disable some notifications and alerts toavoid interruptions while performing the task at hand, this is often anunsatisfactory solution because it can blind users to information aboutimportant information, including information related to the currentworking environment. Other times users have to turn off notifications,such as when walking or driving to a meeting, but are unable to receiveinformation, even though some information such as the meeting locationor directions would be helpful. What is desirable is a system and methodthat provides users with control over notifications and incominginformation, along with improved accessibility to those notificationsand incoming information.

SUMMARY OF THE INVENTION

Briefly, the present invention provides an auxiliary display for a userto simply and rapidly view information concerning peripheral taskswithout distraction or the need to switch operating focus from thecurrent task onscreen. To this end, an auxiliary display is integratedwith a computing system to provide a consistent place wherenotifications can be peripherally presented. Whenever a background taskor specially controlled foreground task sends data such as anotification to the main display of the system, the notification may beredirected to appear instead on the auxiliary display. The user may thenglance at the notification appearing on the auxiliary display to beinformed of the message without significant interruption from thecurrent task at hand. During a meeting or other social setting, acomputer user may also discreetly glance at the small display withoutneeding to disrupt the meeting by turning to read a notification from alarge monitor, turning on the large monitor, or otherwise interactingwith what is presently considered a conventional computer system.

Any type of information may be presented on the auxiliary displayincluding incoming communications, reminders, system alerts, andinformation from Internet subscription services. The user may configurethe computer system to select any of this information, or select onlyspecific content available within an information category. For example,a user may choose to only receive reminders for accepted appointmentsand tentative appointments from a calendar program. A user may alsoconfigure how long specific types of messages are displayed on theauxiliary display, e.g., by adjusting a display period, somenotifications may appear transiently, then simply fade away. Othernotifications may be set to remain persistently until they are no longerrelevant or are handled in some way, such as via the main display.

The auxiliary display may be located in many locations, including placedon the central processor chassis or on the monitor border (e.g., theauxiliary display 703 of FIG. 7) so that display data that can be viewedfrom a distance. Additionally, LED indicator lights may accompany theauxiliary display to provide simple peripheral-vision notification.Notification lights of this type alert the user to an event without theneed for context switching on the main display. The user may obtainadditional detailed follow-up information by pressing a buttonassociated with the notification light.

Any computing or communication device with a display can also be used asthe auxiliary display. This includes general purpose computers, cellphones, and handheld devices such as a personal digital assistant (PDA).Moreover, a virtual auxiliary display may be implemented within an areaof the main display of the computer. For example, a small window, orvisible border ringing the screen that changes colors or the like toprovide notifications may serve as an auxiliary display. The auxiliarydisplay may include a combination of any of the forms described above.

The auxiliary display allows a user to be more informed of incomingcommunications and also to be more in control of interruptions fromincoming communications. Other advantages will become apparent from thefollowing detailed description when taken in conjunction with thedrawings, in which:

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram representing a general architecture of acomputing device operative with the auxiliary display of the presentinvention;

FIG. 2 is a block diagram representing a general purpose computingdevice in the form of a conventional personal computer system into whichthe present invention may be incorporated;

FIG. 3 is an exemplary illustration generally representing the use of aset of notification indicators as an auxiliary display in accordancewith an aspect of the present invention;

FIG. 4 is a state diagram generally illustrating the states of operationfor the use of a set of notification indicators as an auxiliary displayin accordance with an aspect of the present invention;

FIG. 5 is an exemplary illustration generally representing the use of amulti-line display as an auxiliary display in accordance with an aspectof the present invention;

FIG. 6 is an exemplary illustration generally representing the use ofthe auxiliary display to show a list of detailed information inaccordance with an aspect of the present invention;

FIG. 7 is an exemplary illustration generally representing the use ofanother computing device's display as an auxiliary display in accordancewith an aspect of the present invention;

FIG. 8 is a block diagram generally representing the components of anexemplary embodiment of an auxiliary display facility used for theauxiliary display of information in accordance with an aspect of thepresent invention;

FIG. 9 is a flowchart generally representing the steps undertaken forauxiliary display of a new notification in accordance with an aspect ofthe present invention;

FIG. 10 is an exemplary illustration generally representing the additionof a new information message to the notification queue in accordancewith an aspect of the present invention;

FIG. 11 is a flowchart generally representing the steps for refreshingthe auxiliary display in accordance with an aspect of the presentinvention;

FIG. 12 is a flowchart generally representing the steps for providingmore detailed information about displayed messages in accordance with anaspect of the present invention;

FIG. 13 is an exemplary illustration generally representing a userinterface for configuring notifications for auxiliary display inaccordance with an aspect of the present invention; and

FIGS. 14-15 are exemplary illustrations generally representing locationsfor placement of the auxiliary display on various devices.

DETAILED DESCRIPTION

Exemplary Operating Environment

FIG. 1 and the following discussion are intended to provide a briefgeneral description of a suitable computing environment in which theinvention may be implemented. Although not required, the invention willbe described in the general context of computer-executable instructions,such as program modules, being executed by a personal computer.Generally, program modules include routines, programs, objects,components, data structures and the like that perform particular tasksor implement particular abstract data types.

With reference to FIG. 1, an exemplary system for implementing theinvention includes an auxiliary display 1 and an input device 3 whichare each connected to a computing device 20 through a serial interfaceor by other interfaces, such as a parallel port, game port, infrared orwireless connection, universal serial bus (USB) or other peripheraldevice connection. The auxiliary display 1 may be in the form of anynumber of known types of displays such as one or more LEDs, a 2-linealphanumeric display, a monochrome display, or a color display. Thoseskilled in the art will appreciate that the present invention may alsouse the display of other computing or communication devices as theauxiliary display 1. These other computing or communication devicesinclude general purpose computers, cell phones, and handheld devicessuch as a pager or a personal digital assistant (PDA). Additionally, thepresent invention may use a virtual auxiliary display implemented withinan area of the onscreen display of the computing device 20 (e.g. ascreensaver or a component of the graphical user interface) as theauxiliary display 1. The auxiliary display 1 may include a combinationof any of the forms described above, such as one or more LEDs used inconjunction with a virtual auxiliary display.

One or more LEDs may be advantageously used as the auxiliary display 1for notification about the occurrence of an activity. Such an auxiliarydisplay may be implemented with low costs and less power consumption andprovide notification in an unobtrusive manner. It may be effectivelyused for systems with extremely tight form factors or for systems wherecommunications for users are managed by another person. An auxiliarydisplay may additionally be effective when notifications need to be seenfrom a distance. An auxiliary display also may be used in conjunctionwith an onscreen virtual auxiliary display when there is informationalcontent associated with the activity, such as notification of a newemail message. In this case, content from the email may also bedisplayed on the virtual auxiliary display. Furthermore, an auxiliarydisplay may be effectively used for public systems (libraries or kiosks)or shared computers when display of content is undesirable.

Alternatively, a 2-line alphanumeric display may be advantageously usedas the auxiliary display 1 where cost or space is critical, butnotifications and basic content are desired. It may be effectively usedfor tablet PCs, laptops, budget PCs, phone docking stations, monitorbezels, and small or low-cost PC appliances or peripherals such as ahandset, keyboard, or remote control. It may also be effectively used asa replacement for (and an improvement to) a caller ID box.

Furthermore, a monochrome or color multi-line display may beadvantageously used as the auxiliary display 1 for media-richapplications, high-end consumer systems or media center systems. It maybe effectively used for high-end laptops with more generous form factorsor where an emphasis is placed on communication, full-function PCs witha heavy business or communications emphasis, media centers or high-endmedia appliances (including remotes, console systems with portable mediafunctionality) and mobile auxiliary displays. Additionally, the displayof another computing or communication device may advantageously be usedas the auxiliary display 1 where users can expand the role of thesesupplemental devices when using their PC. These other computing orcommunication devices include general purpose computers, cell phones,and handheld devices such as a pager or a personal digital assistant(PDA). Further, note that the auxiliary display need not be an actualdisplay, but can be a projection (e.g., onto a wall) of the information.An auxiliary display, as referred herein, may be any visual, audible, ortactile representations.

As mentioned previously, a virtual auxiliary display may be used as theauxiliary display 1 for public systems (libraries or kiosks) or sharedcomputers when display of content is undesirable. It may also beeffectively used for low-cost systems or for devices with very minimalform factors that make even LEDs impractical. A virtual auxiliarydisplay may be implemented as a screensaver or as a component of thegraphical user interface.

Input device 3 may be a single button that allows the user to switchbetween different categories of notifications such as emailnotifications, voicemail notifications, calendar notifications, systemstatus notifications, caller ID lists and other types of notificationmessages. Accompanying the switch button may also be an up button and adown button to allow the user to scroll forward and backward through thenotification messages within a particular category. Those skilled in theart will appreciate that any other input device may be used, such as akeyboard, microphone, joystick, game pad or other device including adevice that contains a biometric sensor, environmental sensor, positionsensor, or other type of sensor. Any of the input devices of thecomputing device 20 may be used as the input device 3 that isrepresented in FIG. 1, or in conjunction with a independent input device3.

FIG. 2 is a block diagram representing the computing device 20 of FIG. 1in the form of a personal computer system into which the presentinvention may be incorporated. Those skilled in the art will appreciatethat the personal computer system 20 depicted in FIG. 2 is intended tobe merely illustrative and that the present invention may be practicedwith other computer system configurations, including hand-held devices,multi-processor systems, microprocessor-based or programmable consumerelectronics, network PCs, minicomputers, mainframe computers, headlessservers and the like. The invention may also be practiced in distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules may be located inboth local and remote memory storage devices.

The personal computer system 20 included a processing unit 21, a systemmemory 22, and a system bus 23 that couples various system componentsincluding the system memory to the processing unit 21. The system bus 23may be any of several types of bus structures including a memory bus ormemory controller, a peripheral bus, and a local bus using any of avariety of bus architectures. The system memory includes read-onlymemory (ROM) 24 and random access memory (RAM) 25. A basic input/outputsystem 26 (BIOS), containing the basic routines that help to transferinformation between elements within the personal computer 20, such asduring start-up, is stored in ROM 24. The personal computer 20 mayfurther include a hard disk drive 27 for reading from and writing to ahard disk, not shown, a magnetic disk drive 28 for reading from orwriting to a removable magnetic disk 29, and an optical disk drive 30for reading from or writing to a removable optical disk 31 such as aCD-ROM or other optical media. The hard disk drive 27, magnetic diskdrive 28, and optical disk drive 30 are connected to the system bus 23by a hard disk drive interface 32, a magnetic disk drive interface 33,and an optical drive interface 34, respectively. The drives and theirassociated computer-readable media provide non-volatile storage ofcomputer readable instructions, data structures, program modules andother data for the personal computer 20. Although the exemplary computersystem described herein employs a hard disk, a removable magnetic disk29 and a removable optical disk 31, it should be appreciated by thoseskilled in the art that other types of computer readable media which canstore data that is accessible by a computer, such as magnetic cassettes,flash memory cards, digital video disks, Bernoulli cartridges, randomaccess memories (RAMs), read-only memories (ROMs) and the like may alsobe used in the exemplary computer system.

A number of program modules may be stored on the hard disk, magneticdisk 29, optical disk 31, ROM 24 or RAM 25, including an operatingsystem 35 (such as Windows® XP), one or more application programs 36(such as Microsoft® Outlook), other program modules 37 and program data38. A user may enter commands and information into the personal computer20 through input devices such as a keyboard 40 and pointing device 42.Other input devices (not shown) may include a microphone, joystick, gamepad, satellite dish, scanner or the like. These and other input devicesare often connected to the processing unit 21 through a serial portinterface 46 that is coupled to the system bus, but may be connected byother interfaces, such as a parallel port, game port or universal serialbus (USB). A monitor 47 or other type of display device is alsoconnected to the system bus 23 via an interface, such as a video adapter48. In addition to the monitor 47, personal computers typically includeother peripheral output devices (not shown), such as speakers andprinters. The auxiliary display 1 described in FIG. 1 is an additionaloutput device connected to the system bus 23 via auxiliary displayinterface 55, which may be a video adaptor, USB or other peripheraldevice connection. The input device 3 described in FIG. 1 forcontrolling the auxiliary display 1 is connected to the system bus 23via input device interface 56, which may be a serial interface, USB orother peripheral device connection.

The personal computer 20 may operate in a networked environment usinglogical connections to one or more remote computers, such as a remotecomputer 49. The remote computer 49 may be another personal computer, aserver, a router, a network PC, a peer device or other common networknode, and typically includes many or all of the elements described aboverelative to the personal computer 20, although only a memory storagedevice 50 has been illustrated in FIG. 2. The logical connectionsdepicted in FIG. 2 include a local area network (LAN) 51 and a wide areanetwork (WAN) 52. Such networking environments are commonplace inoffices, enterprise-wide computer networks, Intranets and the Internet.

When used in a LAN networking environment, the personal computer 20 isconnected to the local network 51 through a network interface or adapter53. When used in a WAN networking environment, the personal computer 20typically includes a modem 54 or other means for establishingcommunications over the wide area network 52, such as the Internet. Themodem 54, which may be internal or external, is connected to the systembus 23 via the serial port interface 46. In a networked environment,program modules depicted relative to the personal computer 20, orportions thereof, may be stored in the remote memory storage device. Itwill be appreciated that the network connections shown are exemplary andother means of establishing a communications link between the computersmay be used.

Auxiliary Display of Information

As will be understood, the present invention provides an auxiliarydisplay for a user to simply and rapidly view information concerningperipheral tasks without distraction or the need to switch operatingfocus from the current task onscreen. The user can configure whichinformation appears on the auxiliary display. Although notificationswill be used to illustrate the auxiliary display of information, itshould be understood that the present invention may provide auxiliarydisplay of other types of information such as from Internet-relatedservices including transaction services, auction services, advertisingservices, entertainment services, and location services. Such servicescan provide a wide variety of information including financialtransaction information, headline news, stock quotes, sport scores,weather and other information, including information specificallyrequested by the user as well as unsolicited information. It will alsobe appreciated that the auxiliary display may be operative using anynumber of known types of displays such as a set of notification lights,a 2-line alphanumeric display, a monochrome display, or a color display.

FIG. 3 is an exemplary illustration generally representing the use of aset of notification indicators as an auxiliary display. There is onenotification light, such as an LED, associated with each labeledcategory of information configured for alerting a user of notificationssent by an application or system component. The four categories ofinformation illustrated in FIG. 3 are E-mail, Voice Mail, Calendar andSystem Status. Each LED associated with a category of information may bedesignated with a label. For example, LED 302 is associated with emailnotifications and is designated with the descriptive label of E-Mail322. In addition to or instead of a descriptive label like E-Mail, anLED may be designated with an icon such as the envelope icon 312appearing beneath LED 302 to indicate that LED 302 is associated withemail notifications. Furthermore, each LED is capable of flashing anddisplaying different colors such as red, green, amber and blue forconveying additional information about the notification.

FIG. 4 presents a state diagram generally illustrating the states ofoperation for the use of a set of notification indicators as anauxiliary display. More particularly, the state diagram illustratesthree states of operation applicable to each category of information ofthe auxiliary display 1 in the exemplary illustration of FIG. 3 and theactions associated with the transition between the states. Additionally,the behavior of the notification indicator is also illustrated for eachstate when notifications are received and when notifications are read.FIG. 4 will be described using email notifications as an example. Aswill be understood, the colors and described flash operations areexamples, as many alternatives are feasible.

Before the first email notification is received, the system is in state402 without any notifications to read. When a first email notificationassigned a normal priority is received, the email notification indicatorflashes blue three times and the system transitions to state 404 wherethe notification indicator remains illuminated as a steady blue light.If a high priority email notification is next received, then the emailnotification indicator flashes red three times (for example) and thesystem transitions to state 406 where the notification indicator remainsilluminated as a steady red light. If the normal priority emailnotification was read, the system remains in state 406 until the lasthigh priority email notification is read. If a new normal or highpriority email notification is received while the system is in state406, then the email notification indicator flashes red three times andthe system remains in state 406 with the notification indicatorilluminated as a steady red light. After the last high priority email isread, the system transitions to state 402, unless there are unread emailnotifications. If there are unread normal priority notifications, thenthe system transitions to state 404 and the notification indicatorchanges to a steady blue light. Once the last normal priority emailnotification is read, the system transitions to state 402 where theemail notification indicator becomes unilluminated.

Each email notification may be read by bringing the email applicationprogram to the foreground on the monitor of the computer system andreading the email message that generated the notification. If the emailapplication is not executing on the computer system, then the emailapplication is first launched. In one exemplary embodiment of thepresent invention, there is a button associated with the notificationindicator which may be pressed to launch or bring the applicationprogram or system component to the foreground. In another exemplaryembodiment, a key associated with the application program or systemcomponent on the keyboard 40 of the computer system 20 may alternativelybe pressed.

Although FIG. 4 was described using email, it should be understood thatother categories of information may be used by the present inventionthat may change the behavior of the notification indicators differently.For example, voice mail may have its own indicator that uses the samestate diagram of FIG. 4, or a similar state diagram. As another example,the system status notification indicator 308 is associated with systemstatus information. Rather than have the system status notificationindicator unilluminated while in state 402 when there are nosystem-related notification messages, the notification indicator may beilluminated as a steady green light to signify that the system ishealthy. Although the notification indicators were described using a setof notification lights, those skilled in the art will appreciate thatother types of notification indicators may be used. For instance, anaudio indication may be generated to alert the user whenever a newnotification is received, instead of or in addition to flashing thenotification indicator three times.

FIG. 5 presents an exemplary illustration generally representing the useof a multi-line display as an alternate embodiment of an auxiliarydisplay. The multi-line display used as the auxiliary display may be amonochrome or color display. The auxiliary display may have a headerarea 502 for indicating the general information presented on thedisplay. Additionally, the current time is displayed in header area 502.Other information may be included in the header area 502 such as theweather, a stock ticker, time of day (or possibly of the last messagereceived), and so forth. The information display area includes icons,such as the envelope icon 504 for email messages, for each category ofinformation configured to alert a user of notifications or messages sentby an application or system component or the like. Beneath each icon isa tally of the total number of notifications received for thatinformation category. Tally 506 displayed underneath the email icon 504indicates that ten email messages have been received. The other iconsillustrated in FIG. 5 that represent additional information categoriesare phone call notifications 508, calendar notifications 510 and systemstatus notifications 512.

In one exemplary embodiment where the auxiliary display is of the formof a 2-line alphanumeric display, only a single row of icons for eachinformation category with a second row indicating a tally beneath eachicon may be displayed. Those skilled in the art will appreciate thatthere are others ways to present the information on a 2-line display andwill also appreciate that additional information with more detail may bedisplayed on multi-line displays.

In another exemplary embodiment, the auxiliary display may have an inputdevice associated with it. The input device may be a single button, likeswitch button 514 in FIG. 5, that allows the user to switch betweendifferent categories of information such as email messages 504, phonecall notifications 508, calendar notifications 510, and system statusnotifications 512. Accompanying the switch button may. be additionalbuttons for controlling the output of the auxiliary display. FIG. 5illustrates an up button 516 and a down button 518. The down button 518may be used to scroll downward or from right to left. The up button 516may be used to scroll upward or from left to right. For example, a usermay scroll across the information categories displayed in FIG. 5 byusing the up button 516 or the down button 518 to select an informationcategory such as system status notifications 512. Once selected, a usercan press switch button 514 to move the application associated with thatinformation category to the foreground on the monitor of the computer toread (or listen to or otherwise receive) the message or messages. If theapplication is not running on the computer in the background, thenpressing the switch button 514 launches that application.

If the particular embodiment of the auxiliary display only has thesingle switch button 514, then the auxiliary display may automaticallyscroll through the information categories from left to right (or fromright to left), pausing periodically on a particular informationcategory. The user may then press the switch button 514 to move theapplication program to the foreground on the monitor of the computer toread (or listen to or otherwise receive) the message or messages.

In yet another exemplary embodiment, pressing switch button 514 after aninformation category has been selected results in displaying more detailabout the messages received for that information category on theauxiliary display. For example, a user may scroll across the informationcategories displayed in FIG. 5 by using up button 516 to select aninformation category such as email messages 504. Once selected, a usercan press switch button 514 to display a list of email messagesreceived.

FIG. 6 presents an exemplary illustration generally representing the useof the auxiliary display to show a list of detailed information. Moreparticularly, FIG. 6 illustrates the use of the auxiliary display topresent more detail about the messages received in an informationcategory, and specifically shows additional details about the emailmessages received. After a user has selected email messages 504 andpressed the switch button 514, the header area 502 is changed toindicate that the display information is about email as illustrated inthe header area 602 of FIG. 6. The information display area 604 also isupdated to present more detail about the email messages received andlists the first four emails received along with the name of the sender,the first few words of the subject and the time the email was sent.

By pressing the down button 518, the user may view additional emailmessages. The user may use either the down button 518 or the up button516 to scroll through the email messages and to select a particularmessage. Once selected, a user can press switch button 514 to move theapplication associated with that information category to the foregroundon the monitor of the computer to read the message(s). If theapplication is not running on the computer in the background, thenpressing the switch button 514 launches that application.

If the particular embodiment of the auxiliary display only has thesingle switch button 514, then the auxiliary display may automaticallyscroll through the email messages in display area 604 from top tobottom, pausing periodically on a particular email message. The user maythen press the switch button 514 to move the application program to theforeground on the monitor of the computer to read the message.

The auxiliary display illustrated in FIGS. 5-6 may additionally have aset of notification indicators as described in FIG. 3. There may also bea button associated with each notification indicator that may be pressedto launch or bring the application program or system component to theforeground. As previously discussed, in another exemplary embodiment, akey associated with the application program or system component on thekeyboard 40 of the computer system 20 may alternatively be pressed.

FIG. 7 illustrates yet another exemplary embodiment of the auxiliarydisplay 1 by using the display of another computing or communicationdevice. FIG. 7 shows a phone 702 attached to the monitor 47 of FIG. 2and connected to computing device 20 of FIG. 2 by a connection such as aserial interface, infrared or wireless interface, USB or otherperipheral device connection. Monitor 47 and keyboard 40 are alsoconnected to computing device 20 as depicted in FIG. 2 and previouslydescribed. The phone 702 may also be a cellular telephone or othermobile computing device capable of connecting with computing device 20by wired cradle or using Bluetooth™ technology or other wirelesstechnology including ultra-wide band technology. Note that many mobiletelephones have display screens and perform computing functions thatappear more like a personal computer than a mobile telephone. In anyevent, the phone 702 has its own display 1 which may be used to alert auser of notifications and information when it is not otherwisedisplaying information for its primary functions.

Like the previously described embodiments of the auxiliary display,display messages are sent to the phone 702 to display. In one exemplaryembodiment, keyboard 40 includes the switch button 514, the up button516, and the down button 518 for controlling the output of the displaywhen operating as the auxiliary display 1. Alternatively or in additionto, key combinations and/or function keys may be configured to controlthe auxiliary display. Alternatively, it will be appreciated by thoseskilled in the art that the buttons on the phone 702 may be used tocontrol the output of the display when operating as the auxiliarydisplay 1.

Although the display of a phone was described for use as the auxiliarydisplay, those skilled in the art will readily appreciate that thedisplays of other computing or communication devices may be similarlyused as the auxiliary display, including general purpose computers andhandheld devices such as a pager or a personal digital assistant (PDA).

FIG. 8 is a block diagram generally representing the components of anexemplary embodiment of an auxiliary display facility used for theauxiliary display of information. Those skilled in the art willappreciate that the functionality implemented within the blocksillustrated in the diagram may be implemented as separate components orthe functionality of several or all of the blocks may be implementedwithin a single component. For example, a separate library may beimplemented that contains the functionality of the informationredirector and the functionality of the auxiliary display manager. Insuch an implementation, executables linked to the library may sendnotifications directly to the auxiliary display when they are executingon the computer system.

Any application program or operating system component may serve as aninformation generator 802 that sends information for auxiliary display.For example, communication applications such as email, voicemail,telephony and instant messaging may send a notification whenever thereis a new incoming communication. Information services likeinternet-related services or network-based communication services maysend notifications of information for which the user subscribed.Personal management applications including calendar and task managementprograms, herein referred to as calendar or calendar program, sendreminders of upcoming meetings and due dates for tasks. Operating systemcomponents provide notifications of device status, service alerts, andsystem health. Any information or notifications sent by these programsor components for display on the main monitor of a computer system areintercepted by the information redirector 804.

For each information message intercepted, the information redirector 804compares the source of the message and the message type against adatabase of messages that are to be redirected for display on theauxiliary display. Whenever there is a match in the database, theinformation redirector send that message to the auxiliary displaymanager 806 rather than forwarding it on for display on the mainmonitor. Other mechanisms are feasible, e.g., instead of a database, anapplication or operating system component can flag a message with arequest to send that message to the auxiliary display (or to the maindisplay instead of the auxiliary display).

The auxiliary display manager 806 receives new notifications from theinformation redirector 804, manages a notification queue 808 comprisingnotifications to send, sends display messages to the auxiliary display1, and receives input requests from the input device 3 for reviewingnotifications. The auxiliary display manager 806 also contains theconfiguration routines for updating the database of message sources andtypes that are to be displayed on the auxiliary display 1. Those skilledin the art will appreciate that notification queue 808 is an exemplarydata structure used by the auxiliary display manager and that other datastructures or databases may be used by the auxiliary display manager 806to manage messages received from the information redirector 904.

FIG. 9 is a flowchart generally representing example steps undertaken bythe auxiliary display manager 806 (FIG. 8) for auxiliary display of anew notification. First, the auxiliary display manager checks if it hasreceived a new notification message at step 902. If it has not, then itis finished processing. However, if it received a new notificationmessage, then it puts the new notification message in the notificationqueue 808 at step 904. Note that the steps of FIG. 9 are only examples,as, for example, the auxiliary display manager 806 (FIG. 8) may be eventdriven, and thus step 902 may represent an event that triggers theauxiliary display manager 806.

To put the new notification in the notification queue 808 (FIG. 8) atstep 904 (FIG. 9), the auxiliary display manager checks the message typeand message priority to determine the priority of the message. For ahigh priority message, the auxiliary display manager may insert themessage at the head of the queue. For a normal priority message, theauxiliary display manager inserts the message after the highest prioritymessage that has not yet been displayed in the queue. Although there areother ways to insert messages in the queue as is appreciate by thoseskilled in the art, this method places the highest priority messages tobe displayed at the head of the queue. Alternatively, there may be ahigh-priority queue and a normal priority queue. Also, there may beother priority levels and/or queues.

Once the new notification has been put in the notification queue 808,the auxiliary display manager updates the summary information at step906. To update the summary information, the auxiliary display managerincrements the tally for the information category of the newnotification received. After the summary information has been updated,the auxiliary display manager refreshes the auxiliary display at step908.

FIG. 10 is an exemplary illustration generally representing the additionof a new information message to the notification queue as was describedin step 904 of FIG. 9. When the auxiliary display manager receives a newmessage, the auxiliary display manager checks the message type andmessage priority to determine where to insert the new message in thenotification queue. For example, a new phone call message 1002 receivedby the auxiliary display manager is illustrated in FIG. 10. It has amessage type field 1004, a time received field 1006, a message priorityfield 1008, a displayed flag for indicating whether the message wasdisplayed (set to one if displayed and set to zero if undisplayed) 1010,and a message content field 1012, which may comprise the message itselfor a pointer to a message file. Message types for synchronouscommunications such as incoming phone call notifications may havepriority for display over message types for asynchronous communicationssuch as system status messages.

After checking the message type, the auxiliary display manager checksthe priority field of the message. High priority messages have priorityover normal priority messages. A synchronous communication message typewith a high priority is inserted after the last undisplayed message ofsimilar message type and message priority from the top of thenotification queue. A synchronous communication message type with anormal priority is inserted after the last undisplayed message ofsimilar message type and message priority from the top of thenotification queue. An asynchronous communication message type with ahigh priority is inserted after the last undisplayed message of similarmessage type and message priority from the top of the notificationqueue. Finally, an asynchronous communication message type with a normalpriority is inserted after the last undisplayed message of similarmessage type and message priority from the top of the notificationqueue.

The new phone call message 1002 received by the auxiliary displaymanager is a synchronous communication message as indicated by themessage type of “phone” in the message type field 1004 and has a highpriority as indicated in the message priority field 1008 by thecharacter “H”. It is inserted at the head of the queue because there areno other synchronous phone messages with high priority that areundisplayed in the notification queue. Note that message 1016 is also anincoming phone call message with a high priority, but it has alreadybeen displayed as indicated by the displayed flag field. Also note thatthe new incoming phone call message 1002 is placed before email message1014 which is an asynchronous communications message that has not yetbeen displayed.

FIG. 11 is a flowchart generally representing the steps undertaken bythe auxiliary display manager for refreshing the auxiliary display atstep 908 of FIG. 9. First the auxiliary display manager checks if thereare any undisplayed messages in the notification queue at step 1102. Ifthere are not, then it proceeds to step 1110. However, if there are anyundisplayed messages in the notification queue, then it selects thehighest priority message that is undisplayed in the notification queue808 at step 1104.

To select the highest priority message that is undisplayed in thenotification queue 808 at step 1104, the auxiliary display manager scansthe notification queue beginning at the head of the queue until it findsthe first undisplayed message. Note that the highest priority messagefor display will be the first undisplayed message from the head of thequeue as described previously at step 904 of FIG. 9. Those skilled inthe art will appreciate that there are other ways to order the messagesin the queue and select the highest priority message for displaying onthe auxiliary display.

Once the highest priority message has been selected at step 1104, theauxiliary display manager then displays at step 1106 the selectedmessage and the summary information that was updated at step 906 of FIG.9. Each message type has a display period assigned for how long thatmessage type is to be displayed. If a higher priority message isreceived before the currently displayed message has been displayed forthe entire display period assigned, the higher priority message preemptsthe display of the current message. Prior to sending the selectedmessage to the auxiliary display in one embodiment, the auxiliarydisplay manager checks to see if this selected message is a differentmessage than the previous message selected to be sent to the auxiliarydisplay. If this is a different message, then the display period is setfor the duration assigned to that message type. If the selected messagewas the same message previously selected to be sent, then the displayperiod is not reset. It will appreciate that there are other ways toimplement how a selected message is display for the entire displayperiod after being preempted by a higher priority message.

The auxiliary display manager displays the selected message and theupdated summary information by sending them to the auxiliary display. Ifthe auxiliary display also has notification indicators such as a set ofnotification lights, then the auxiliary display manager also sends amessage to the auxiliary display to set the message indicators asdescribed in FIG. 4, such as flashing the appropriate notification lightsome appropriate number of times before remaining illuminated as asteady light. Additionally, an audio indication may also be generated,as also described above. For multi-line displays, the auxiliary displaymanager may display additional information as also described above, suchas the weather, a stock ticker, and so forth.

After sending the selected message and the updated summary informationto the auxiliary display, the auxiliary display manager checks if thedisplay period has expired at step 1108. If the display period hasexpired, then the auxiliary display manager displays the summaryinformation at step 1110. If the display period has not expired, thenthe auxiliary display manager returns to step 1104 because a higherpriority message may be received that preempts the display of thecurrent message before its display period has expired.

At step 1110, the auxiliary display manager displays summary informationwhen there are no more undisplayed messages in the notification queue.If the display period expired at step 1108 for the currently displayedmessage, then the auxiliary display manager sets the display flag of themessage to the value of one which indicates that the message has beendisplayed for the entire display period. Then the auxiliary displaymanager sends the summary information to the auxiliary display fordisplay.

FIG. 12 is a flowchart generally representing the steps undertaken bythe auxiliary display manager upon receiving a request to provide moredetailed information about displayed messages. As previously discussed,a user may request to receive more detailed information about messagesor to review a selected message by using an input device controlling theoutput of the auxiliary display. First the auxiliary display managerchecks if it has received any request to display more detailedinformation such as a message list at step 1202. If not, then itfinishes processing. However, if it has received a request to displaymore detailed information, then the auxiliary display manager displaysmore detailed information such as the message list at step 1204. As willbe appreciated, the user may scroll forward and backward through thedetailed information such as a message list to view additional messagesusing the input device controlling the output of the auxiliary display.

Next the auxiliary display manager checks if it has received a requestto review a selected message at step 1206. If not, then the auxiliarydisplay manager finishes processing. However, if it has received arequest to review a selected message, then it sends a request to theinformation redirector 804 at step 1208. The information redirectorbrings the information generator 802 that originated the notification tothe foreground of the monitor on the computer system and forwards therequest to the information generator so that it may display theinformation or message that generated the notification on the mainmonitor. As discussed previously, if the information generator is notexecuting in the background on the computer system, then the informationredirector launches the information generator to execute in theforeground on the monitor before forwarding the request to review aselected message.

At step 1210, the auxiliary display manager removes the message whichwas selected at step 1208 from the notification queue 808. Then, theauxiliary display manager updates the summary information bydecrementing the tally for the information category of the selectedmessage by one. After the summary information has been updated, theauxiliary display manager is finished.

Those skilled in the art will appreciate that messages which remainunread in the notification queue may be automatically removed after aspecific time period in another exemplary embodiment. Furthermore, itwill be appreciated the time period may be configurable for each messagetype.

FIG. 13 is an exemplary illustration of a straightforward user interfacescreen used for configuring notifications for auxiliary display. Userinterface screen 1302 displays a list of information categories 1304,each with a checkbox which may be selected for redirecting theirnotifications from the main computer monitor to the auxiliary display.For example, the Message Tally, Calendar, Voicemail, Email, SystemStatus and Media Player are selected in the list 1304. As a user selectsan information category from the list 1304, the user interface displaysa simulated auxiliary display 1306 within the user interface screen 1302so that the user may see the type of notifications that will bedisplayed on the auxiliary display.

The user interface screen 1302 also displays a list of options 1308available for each information category under selection. These optionsinclude specific content available within the information category. Forexample, the “Calendar” information category is highlighted forselection in list 1304. The list of options 1308 provided for theCalendar includes accepted appointments, tentative appointments andto-do list. Additionally, the user interface screen may include optionsto configure global settings in a header area such as showing the clock,as well as configuring settings in a footer area such as showing thepreviously displayed message. Further, other options for configurationmay be included that apply for individual information categories such adisplay period, audible indicator, visual indicator, caller ID or senderof the message, and so forth.

As previously discussed, the auxiliary display may be located in anyvariety of places, including placed on the central processor chassis oron the monitor border (e.g., the auxiliary display 703 of FIG. 7) sothat display data that can be viewed from a distance. FIG. 14illustrates exemplary locations on computing devices for placement ofthe auxiliary display. The auxiliary display 1 may be placed on the edgeor lid of a mobile computer 1402 or tablet (not shown). It may also beplaced on the front, back or other surface of a standalone phone 1404 oron a phone mounted on a computer or a peripheral device attached to acomputer such as on monitor 1406 or on a keyboard (not shown). FIG. 15illustrates additional placements of the auxiliary monitor on the frontpanel of a CPU module 1502 or standalone console 1504 connected to acomputer. Those skilled in the art will appreciate that the auxiliarydisplay may be placed on any surface of any computing device or devicewith display capabilities, such as placed on a watch with a wireless orother connection to a computer, a remote control, a remote wall-mountedunit, and so forth.

It should be noted that the computer system need not be fullyoperational for the auxiliary display to work in accordance with thepresent invention. Indeed, the auxiliary display may still work when thecomputer is powered down, at least to a default extent or to an extentconfigured by a user, such as when the computer system is in a sleepstate or a hibernate mode, and/or when the user is locked out of thesystem via security mechanisms. For example, the user may want thetelephone handset and speakerphone to work as conventional applianceswhen the computer system is powered down, and use the auxiliary displayas a caller-ID device. This device may also store data for latertransmission to the computer system when the computer system is againpowered up, such as to log the calls received, including when thecomputer system was not fully powered up.

Also, the auxiliary display may serve as a secondary display when themain display is shut down or otherwise not operational (e.g.,disconnected), to give the user some information. Information such ashow to power up the main display would be helpful, as would a roomnumber and/or directions to a meeting on an auxiliary display deviceconnected to a laptop computer that the user can view when the lid isclosed. Even on a tablet PC with a visible screen, the main display maybe shut down to save power, whereby an auxiliary display would providesubstantial benefits. Note that the user may limit the extent of thedisplay based on the computer system state, e.g., when the user is notlogged in, only certain non-sensitive or very specifically-controlledinformation may be displayed, and so forth.

To enable and control communications in these powered down modes, theauxiliary display may be loaded into executable non-volatile memory,operated with a secondary processor, and so forth, so that the displayworks as long as some power is available, even though the disk, mainprocessor, main display, network card and/or other parts of the systemare powered down.

While the invention is susceptible to various modifications andalternative constructions, certain illustrated embodiments thereof areshown in the drawings and have been described above in detail. It shouldbe understood, however, that there is no intention to limit theinvention to the specific form or forms disclosed, but on the contrary,the intention is to cover all modifications, alternative constructions,and equivalents falling within the spirit and scope of the invention.

1. A computer system for auxiliary display of information, comprising anauxiliary display coupled to the computer system for auxiliary displayof information generated by executables running on the computer system.2. The computer system of claim 1 further comprising an input device forcontrolling the output of the auxiliary display.
 3. The computer systemof claim 1 wherein the auxiliary display comprises a display of anothercomputing device.
 4. The computer system of claim 1 wherein theauxiliary device comprises one or more notification indicators.
 5. Thecomputer system of claim 1 wherein the auxiliary display uses at leastone member of the set consisting of visual, audible, and tactilerepresentations.
 6. The computer system of claim 1 wherein theexecutables running on the computer system run on a secondary processorwhen the main processor is powered down.
 7. In a computing device, amethod, comprising: receiving information for display on an auxiliarydisplay of a computing device; displaying the information on theauxiliary display; and providing the information from the auxiliarydisplay to an executing component of the computer system.
 8. The methodof claim 7 wherein the auxiliary display displays the information whenthe main display of the computer system is powered down.
 9. The methodof claim 7 wherein the auxiliary display maintains the information untilthe executing component of the computer system is powered up.
 10. Acomputer-readable medium having computer-executable instructions forperforming the method of claim
 7. 11. A system for auxiliary display ofinformation, comprising: means for coupling an auxiliary display to thesystem; and means for auxiliary display of information generated byexecutables running on the system.